package lesson10;

import java.math.BigDecimal;
import java.text.DecimalFormat;

public class Test06 {
    /**
     * 驼峰命名法转蛇形命名法
     * @param name
     * @return
     */
    public String camelToSnake(String name){
        // MyName -> my_name
        StringBuffer sb = new StringBuffer();
        for(int i = 0;i < name.length();i++){
            if(name.charAt(i) >= 65 && name.charAt(i) <= 91 && i > 0){
                sb.append("_");
            }
            sb.append(name.charAt(i));
        }
        return sb.toString().toLowerCase();
    }

    /**
     * 蛇形命名法转驼峰命名法
     * @param name
     * @return
     */
    public String snakeToCamel(String name){
        StringBuffer sb = new StringBuffer();
        String [] names = name.split("_");
        for(int i = 0;i < names.length;i++){
            if(i > 0){
                sb.append(String.valueOf(names[i].charAt(0)).toUpperCase());
                sb.append(names[i].substring(1));
            }else{
                sb.append(names[i]);
            }

        }
        return sb.toString();
    }

    /**
     * 数字千分位表示
     * @param number
     * @return
     */
//    public String formatCurrency(String number){
//        // 1234567890.23 -> 1,234,567,890.23
//        String [] numbers = number.split("\\.");
//        StringBuffer oldSb = new StringBuffer(numbers[0]);
//        StringBuffer newSb = new StringBuffer();
//        oldSb.reverse();
//        for(int i = 0;i < oldSb.length();i++){
//            if(i % 3 == 0 && i > 0){
//                newSb.append(",");
//            }
//            newSb.append(oldSb.charAt(i));
//        }
//        if(numbers.length > 1){
//            return newSb.reverse().append(".").append(numbers[1]).toString();
//        }else{
//            return newSb.reverse().toString();
//        }
//    }
    public static String formatCurrency(String number){

        BigDecimal bigDecimal=new BigDecimal(number);
        DecimalFormat df=new DecimalFormat(",###,##0.00"); //没有小数
        return df.format(bigDecimal);
    }



    public static void main(String[] args) {
//        Integer a1 = new Integer(100);
//        Integer a2 = new Integer(100);
//
//        System.out.println(a1.equals(a2));
//        System.out.println(a1.intValue() == a2.intValue());
        Test06 test06 = new Test06();
//        System.out.println(test06.camelToSnake("myFirstName"));
//        System.out.println(test06.snakeToCamel("my_first_name"));
        System.out.println(test06.formatCurrency("1234567890.23"));
    }
}
